{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 企业造血能力分析 - 收入含金量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from analysis import ANALYSIS_CONFIGS\n",
    "from analysis.analysis import FinancialAnalysis\n",
    "from analysis.doc_utils import ReportDocument"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['all_analysis.json',\n",
       " 'asset_quality_analysis.json',\n",
       " 'asset_indepth_analysis.json',\n",
       " 'asset_fraud_analysis.json',\n",
       " 'profit_analysis.json',\n",
       " 'cash_flow_analysis.json']"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ANALYSIS_CONFIGS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "analysis = FinancialAnalysis(ANALYSIS_CONFIGS[5])\n",
    "images, titles, fields = analysis.images, analysis.titles, analysis.fields"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>销售商品、提供劳务收到的现金(元)</th>\n",
       "      <td>6,376,116,600</td>\n",
       "      <td>7,197,061,800</td>\n",
       "      <td>8,453,586,900</td>\n",
       "      <td>7,864,881,700</td>\n",
       "      <td>8,100,485,200</td>\n",
       "      <td>10,288,453,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其中：营业收入(元)</th>\n",
       "      <td>5,794,897,867</td>\n",
       "      <td>7,017,397,058</td>\n",
       "      <td>7,424,885,274</td>\n",
       "      <td>7,760,581,856</td>\n",
       "      <td>8,128,620,799</td>\n",
       "      <td>10,147,706,035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>现金占营业收入的比率</th>\n",
       "      <td>110.03%</td>\n",
       "      <td>102.56%</td>\n",
       "      <td>113.85%</td>\n",
       "      <td>101.34%</td>\n",
       "      <td>99.65%</td>\n",
       "      <td>101.39%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                            2016           2017           2018           2019  \\\n",
       "销售商品、提供劳务收到的现金(元)  6,376,116,600  7,197,061,800  8,453,586,900  7,864,881,700   \n",
       "其中：营业收入(元)         5,794,897,867  7,017,397,058  7,424,885,274  7,760,581,856   \n",
       "现金占营业收入的比率               110.03%        102.56%        113.85%        101.34%   \n",
       "\n",
       "                            2020            2021  \n",
       "销售商品、提供劳务收到的现金(元)  8,100,485,200  10,288,453,300  \n",
       "其中：营业收入(元)         8,128,620,799  10,147,706,035  \n",
       "现金占营业收入的比率                99.65%         101.39%  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t1 = analysis.init_table('t1')\n",
    "t1['现金占营业收入的比率'] = t1['销售商品、提供劳务收到的现金(元)'] / t1['其中：营业收入(元)']\n",
    "\n",
    "analysis.format_show_table('t1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115d3f1cef0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>经营活动产生的现金流量净额(元)</th>\n",
       "      <td>1,545,448,500</td>\n",
       "      <td>1,272,482,600</td>\n",
       "      <td>1,508,960,300</td>\n",
       "      <td>1,555,220,900</td>\n",
       "      <td>1,537,300,000</td>\n",
       "      <td>1,365,377,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>五、净利润(元)</th>\n",
       "      <td>1,206,814,400</td>\n",
       "      <td>1,461,194,100</td>\n",
       "      <td>1,483,847,900</td>\n",
       "      <td>1,614,245,400</td>\n",
       "      <td>1,687,357,900</td>\n",
       "      <td>1,348,791,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>净利润现金比率</th>\n",
       "      <td>128.06%</td>\n",
       "      <td>87.09%</td>\n",
       "      <td>101.69%</td>\n",
       "      <td>96.34%</td>\n",
       "      <td>91.11%</td>\n",
       "      <td>101.23%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           2016           2017           2018           2019  \\\n",
       "经营活动产生的现金流量净额(元)  1,545,448,500  1,272,482,600  1,508,960,300  1,555,220,900   \n",
       "五、净利润(元)          1,206,814,400  1,461,194,100  1,483,847,900  1,614,245,400   \n",
       "净利润现金比率                 128.06%         87.09%        101.69%         96.34%   \n",
       "\n",
       "                           2020           2021  \n",
       "经营活动产生的现金流量净额(元)  1,537,300,000  1,365,377,200  \n",
       "五、净利润(元)          1,687,357,900  1,348,791,400  \n",
       "净利润现金比率                  91.11%        101.23%  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t2 = analysis.init_table('t2')\n",
    "t2['净利润现金比率'] = t2['经营活动产生的现金流量净额(元)'] / t2['五、净利润(元)']\n",
    "\n",
    "analysis.format_show_table('t2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "连续 5 年的平均净利润现金含量：100.92%\n"
     ]
    }
   ],
   "source": [
    "print(f\"连续 5 年的平均净利润现金含量：{t2['净利润现金比率'].mean():.2%}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 企业增长潜能：投资活动现金流分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>购建固定资产、无形资产和其他长期资产支付的现金(元)</th>\n",
       "      <td>199,329,700</td>\n",
       "      <td>146,347,300</td>\n",
       "      <td>180,703,200</td>\n",
       "      <td>272,163,300</td>\n",
       "      <td>282,289,900</td>\n",
       "      <td>432,870,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>经营活动产生的现金流量净额(元)</th>\n",
       "      <td>1,545,448,500</td>\n",
       "      <td>1,272,482,600</td>\n",
       "      <td>1,508,960,300</td>\n",
       "      <td>1,555,220,900</td>\n",
       "      <td>1,537,300,000</td>\n",
       "      <td>1,365,377,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>投资占经营净现金流的比例</th>\n",
       "      <td>12.90%</td>\n",
       "      <td>11.50%</td>\n",
       "      <td>11.98%</td>\n",
       "      <td>17.50%</td>\n",
       "      <td>18.36%</td>\n",
       "      <td>31.70%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>销售商品、提供劳务收到的现金(元)</th>\n",
       "      <td>6,376,116,600</td>\n",
       "      <td>7,197,061,800</td>\n",
       "      <td>8,453,586,900</td>\n",
       "      <td>7,864,881,700</td>\n",
       "      <td>8,100,485,200</td>\n",
       "      <td>10,288,453,300</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                     2016           2017           2018  \\\n",
       "购建固定资产、无形资产和其他长期资产支付的现金(元)    199,329,700    146,347,300    180,703,200   \n",
       "经营活动产生的现金流量净额(元)            1,545,448,500  1,272,482,600  1,508,960,300   \n",
       "投资占经营净现金流的比例                       12.90%         11.50%         11.98%   \n",
       "销售商品、提供劳务收到的现金(元)           6,376,116,600  7,197,061,800  8,453,586,900   \n",
       "\n",
       "                                     2019           2020            2021  \n",
       "购建固定资产、无形资产和其他长期资产支付的现金(元)    272,163,300    282,289,900     432,870,300  \n",
       "经营活动产生的现金流量净额(元)            1,555,220,900  1,537,300,000   1,365,377,200  \n",
       "投资占经营净现金流的比例                       17.50%         18.36%          31.70%  \n",
       "销售商品、提供劳务收到的现金(元)           7,864,881,700  8,100,485,200  10,288,453,300  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t3 = analysis.init_table('t3')\n",
    "t3['投资占经营净现金流的比例'] = \\\n",
    "t3['购建固定资产、无形资产和其他长期资产支付的现金(元)'] / t3['经营活动产生的现金流量净额(元)']\n",
    "\n",
    "analysis.format_show_table('t3')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEGCAYAAABsLkJ6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAG45JREFUeJzt3XmcXFWd9/HPlyzAE5aEoQkqSwBBYAYITEB4BEx4gLCjMBoHFASczDgsjvgaBdlceAZQFmWVkDhGYBjAAQdkD5AFHlkaJAgISjQBFB4aJCQSDYH85o9zSspKdaq6qtPdyfm+X69+pe6tc+49pzp9v/eec6tKEYGZmZVntf5ugJmZ9Q8HgJlZoRwAZmaFcgCYmRXKAWBmVigHgFk3JGkFb3/9FbDNZdosaXBv78dWDQ4Aa0jSDElbN1Huw9UHNUn7SDq7B/vplDS2QZnNJW3Z7DZznS0ldVYt/4ekTzaoMwyY09N99aBNQ4D7JZ3Ww3pjJK23nCK7SrqnZt0MSTs1uf23Ja2xnOc/Lunzy3n+NEkjm9mX9T8HgDXj7fyDpI0kLc4H65ckfa6q3CjgAUkfk7QO8F3g6Fy28vPV5exnI6DR2eqZwMG5LZMkPSzpAUkP5sd/lZ/bWdLPJM0Crga2ljRd0nRgL+DMvPxwDqqdJN0pafWq/XwAuC63+/7cJ/L2d5D0lKSnJc2W9O+Spkh6rqqvT0q6v5t+XAbcCuwl6bB6BSSdK+lMSUMkrZ7P7ncBzq8qU1lfsR3wYNXzw4H1gZ/V2f5Vko6pWf02sKSbNgMcBfxR0jRJr0qaKemyquf3AwYtp74NIL40tG5JqpwgLE2LGgIMA56LiDGSTgHeqZSPiOslPQBsQDrAfQ+YARwfERMlPQzc1WC335e0qLoZwPcj4jxJGwHbAsdJ2iEiJla19RxgUUS8ntvyKLBjfm4z4HsRMT4vXwjcGxG3VdUX8DowRdIUYALwvoj4vaSrcp8XVPV1NvA3ku4E/iki5kq6HDge6AKG5n+vrPOaXgSsFhFfzaFyi6TtgX+LiLerin8HuA6YD0wEFgKbAr/OrzN5P4cCL0u6FdiZdID+GHA2sA4wHPhVzokNI2KtXLfewf6diHg3t3Vz4G8j4sa8vAkwDvh74AbgiYjYMz/3EPA54F3S/xdbCTgAbHnGkc42NyedrV4LBFA5+CwGDspDEhdHxDvAGsD+wHER8XYeAtpf0oeAPWoOcPUcGxHTKgv5gDkoH6C/A5xAOjO/RdKHI+IVSScDxwIfqqq3BimAKl6W9IOq5U9I+kR+fFpE/DZfzewPTAbmAJdLepcUBv8l6Rrg0oh4qJu2Vw58+wH/C/j3/HpV2jQKuApYAJwoacP81NGkoJgj6fvAlRHxO+ANYK9Ib9e/WNI/AQeRroAOBu6seT23ALaOiPn5dV87b3vPiHgut2FOVfm6HwOQh79OIoXZJVVPnQX8ISL+lIeU3pH0aeBXpHB6q5vXxQYoB4B1KyLuBXasnOWSDkg3AJ/NRaYAvyCdzb4j6YPAj4F/BtaQdDwwnnRQ/W/gekm3Az+PiEU0ISKWAksljcvbej8pAI4G3pY0CViLFAzTJJ0REXeQDm77Agc02MVk0lUNEfFH4CZJ04A1SQf0qcDhpGGVS4D3wZ+vGIbkbQzKV0cVg4B51TuRtANwO3Ba3t5kYEvSQfOlXOcA0oF3HUlrAtOAk4GbJf0t8CnSgX8N0pn+MZL+rnLGzrJn3h9N3UoH/27KXCzpPN57DQGeJF15bB8Rv8/tHwfsDfwpl/k48CiwK/DXpDN/f67MSsYBYM0QcArpIDgKuEdSZehnEPDJfKZ+XS73S+Ae4DZg74h4U9JHgeOAK4BjgNk9bMMM0hnuAaSD1XPAHcC5EXEzpMlq4CpJvwR+B3RGxBN5SOmRmu3tAHwYuJQ0xELext6kA+EmpIPlFvlnYe77h/OZ/E+Am3K5W0ln9pWx+PWAh6t3FhGzJX0wh8wP8r7OBp6PiB9UFf2HqrYcBJyf5y2mkv5ep5GCuIs0h3c+8MVuXrNHgMmSpkTEcXldbQCcFBHXVO3zEtKBv/Zs/mXSMNR3JX2A9LvclRQES8jDbbZycQBYtyR9HPg6aQjoXtIB9z5gckTsr3THzwOk8fGlkvYgHRg3Bv4IHAYcVjVH+f6I2KBq+58GJgEv5FXzgUuryn+QdDB6Jm9/O1IAfJ80zHILaTK3cieNgNsjojLMcUj+9/fAuTXdOwd4t/rgK2l34DzgI8CSiHhX0o+B70TE9DyEdAtwa0QsAbarmQO4Km9qO+ApYC5pjB5IVxiSHsvtXEq6mlks6QRSkK4ZEVtXlX9a0lmkK5QDSVcHD+eyq5GuHmbW9GtWHrbaEDglIh6QdL6k8RHRaP6lst9lhnIi4lng2fy72Z00ZHVz7stE3nutbSXiALDleZx0hncZcENEvAYgaUQ+Cz4Z+GYepiGPDS8GJuQz76OB1yqTrZJ+W7P9PwGPRMTYejuX9AqwKD8eRrrCeI4UAg8A3yId2D9DCoszqX8HytdIdxhVu4w06VvtVOCbpKGWf8lXOVsA20iqXAH8JB/86/kuaWJ1M+DfgK2BL9SU2Q/YNyKurb4CkPQl0jBZrYuAbwPPA9sAL/Le3+38yhBNlT2q5gAqLgCOyldIf6jXcEmDSJPFDUXE9bnOf5GuSB4jDUv57p+VjAPAuhUR8wC07HuLvgHcSTrzP6nmuer/U58HvizpAxHxW9oYI85npdVXD5tUDsSV9lXmC6rr5TPupaQJ61qX5mGZl/LQz0akg/Ag4NqIWFJ9BVCz3dVJk84deTsvR8Q/5DuMvkcKx0UR8fOafQ4GLpA0s2pbw4B/Jc2vVO/jI8DQiPixpP2AXzd6nbpxM+nKZThpAvovSDqEdEX07TrPfZIUevXmbI4jXQ2GpImkuQxbiTgArBl/HsbIZ/4TSGfmm0r6DGkY4oV8t8qXgTeU7g2fAzwBPCTpNeCrklaPiOqD8S6Snu1mv9VvKtuMNNa9DbA9aZJ1lybavhg4IiLm1j4haS5pqArSweuLuQ/vVBVbq7Ze9glSwF1NDsN8Fv/XpIP5yWkX+hrwq4i4FiAiXpZ0Je9NpEO6g+mHEfFiVdsGAxeThuAgTcJXJo4rVsvzBMPzOP4Q/nII6Ixcbinpb30/0pVExVbAEUAn8LmI+KmkCyRtmO+u2gK4hjRUVQmAwXkC/F9Ik/I75/W/I135dJDfM2IDnwPAupX/0J8m3dLYJelaYDfSsM/ROQy+TJ6IlPQ3wB6kO2i+B0zJB9Rt8/j6acDf8d548eo0HgIalhdfJc0RnAf8P2C8pEdJB/j1gKFK7yIeRprYnJXrDQVuzENTtTbMfXu9MsZdte+1SROfc0nDTn8hH3CvyWXXJM2NPA0ckucOniJN9m5Fum+efODfPW9iCemMfAkpZN6QtH9uz1akg+7jwK351tA/RsRPlN57sRrpjV2TSGF1fN7mt4GrI2JxvuuoEm4jSUNeDwFfqurGfwIXRsSdVeuuBO7Lk/pLgTMqQ3/Z2qT3IhwMjK+aL1iNNPE/o86wlA1Q8jeC2fJIGhERb+THfwW8URnzryoziHSw2ApYmO9h7257a+Y7YQa8Olcryys7rN7kaS+1YyvSVYT/WK1XOQDMzArlzwIyMyuUA8DMrFADehJ4/fXXj1GjRvV3M8zMViqPPfbYaxHR0ajcgA6AUaNG0dnZ2bigmZn9maR5jUt5CMjMrFgOADOzQjkAzMwK5QAwMyuUA8DMrFBNBYCk9ZS+OHv9xqWbI2nj3tqWmZn1XMMAkDSC9CUfuwD3S+qQNFLSrAb1vi5pev55VtKpks6RdFf+kLFxvdMFMzNrRTPvA9geODkiHsphsBfpK/2GLa9SRJxVeSzpR8APSR9t+zjp6+Ne6KaqmZn1gYZXABExIx/89yRdBdxB+jz4Zb5Yoh5JOwMv5S8EESl09iR9x6uZmfWTpt4JnIdsJpC+jHpJ/m7TZvfxBaByNfAU6fPkXwRmSpoYEb+o2ddE0neMsskmmzS7DzOzFWrUKbf16f7mnnvgCt9HU5PAkRwPPEkPvvxZ0nBgg8qXdEfERaRvUFoE3ET6ouvafU2KiDERMaajo+FHWZiZWYuamQT+iqSj8uJw0rcyNetQ4PaadcOBhaRvcvJtqGZm/aSZA/Ak4DP5S6wHAXfXFpC0l6QT6tQdT/q+2Eq5rYDZwCPAiXgewMys3zScA8hfB7hPnfVjqx7fR/pO1NoyR9Qs/7JqcZueNNTMzHqXh2DMzArlADAzK5QDwMysUA4AM7NCOQDMzArlADAzK5QDwMysUA4AM7NCOQDMzArlADAzK5QDwMysUA4AM7NCOQDMzArlADAzK5QDwMysUA4AM7NCOQDMzArlADAzK5QDwMysUA4AM7NC9VsASBopaUh/7d/MrHSDGxWQtC7wn8Ag4C1gOvDx/PRw4OGI+Mcm6k0AJgJHA2OB8RHxw7Z7YGZmLWnmCuBI4MKI2Bd4BfhNRIyNiLHALOCqJuvtB4wGJgM7k0LBzMz6ScMrgIi4vGqxA3gVQNIHgJER0dmDegKGAPsCZ7fYZjMz6wVNzwFI2g0YEREP5VXHA1f0sN7dwEHAS8AtksbVKT9RUqekzq6urmabZ2ZmPdRUAEhaD7gEODYvrwaMI80HNF0vIq4HvgbMB24DDq+tExGTImJMRIzp6Ohoth9mZtZDDQNA0lDgRuDUiJiXV+9BmvyNHtYD2BKYAyxuZv9mZrZiNHMAPg7YCThN0nRJE4DxwMxKAUnbSqod01+mnqR1SBPCz5DuCJrWG50wM7Oea2YS+AqWHeu/vqbMM8DpTdQDuCf/O7r5ZpqZWW/zEIyZWaEcAGZmhXIAmJkVygFgZlYoB4CZWaEcAGZmhXIAmJkVygFgZlYoB4CZWaEcAGZmhXIAmJkVygFgZlYoB4CZWaEcAGZmhXIAmJkVygFgZlYoB4CZWaEcAGZmhXIAmJkVygFgZlYoB4CZWaH6LQAkjZQ0pL/2b2ZWuoYBIGldSXdIulvSzXWWhzaof7mkg/PjEyQ9KmkYMD4ilvRSP8zMrIeauQI4ErgwIvYFXgGOrlner7uKkvYANoyIW/Oq0cBkYGfgrXYabmZm7WkYABFxeUTckxc7gEdqll+tVy8P71wFzJV0aGU1MATYF7ijnYabmVl7mp4DkLQbMCIiHqq3XMdRwDPAt4BdJJ0I3A0cBLwE3CJpXJ39TJTUKamzq6urZ70xM7OmNRUAktYDLgGOrbfcjR2BSRHxCnANMC4irge+BswHbgMOr60UEZMiYkxEjOno6OhBV8zMrCeamQQeCtwInBoR82qXl1P1eWDz/HgMUCm7JTAHWNzM/s3MbMVo5gB8HLATcJqk6cCp1cuSJkjaVtLZNfWmAOMkzQT+GThf0jqkieNngInAtF7qh5mZ9dDgRgUi4grgiprVX69T9PSaeguBT9QpV5lAHt1MA83MbMXwEIyZWaEcAGZmhXIAmJkVygFgZlYoB4CZWaEcAGZmhXIAmJkVygFgZlYoB4CZWaEcAGZmhXIAmJkVygFgZlYoB4CZWaEcAGZmhXIAmJkVygFgZlYoB4CZWaEcAGZmhXIAmJkVygFgZlaofgsASRv3177NzKzJAJA0UtKs/HhzSfdKekLSGQ3qbSPpv6uWp0qamhfHttpoMzNrX8MAkDQCmAoMy6tOAM6MiNHAeEkd3dTbAvg2sG7V6iXAO5J2BR5up+FmZtaewU2UeReYAFTO5F8Htpf0PLA6ML+beguBw4G7qtaJFDpbRsTVLbXYzAasUafc1mf7mnvugX22r1VVwyuAiFgQEW9WrboT2BU4CbgPeKebeq9GxOKa1a+TQmADSbMkbVBbT9JESZ2SOru6uprth5mZ9VArk8CnAJ+NiNOANYF9mq0YEV8G7gaGADcBe9YpMykixkTEmI6OuqNLZmbWC1oJgM2AjSWtAewERLMVJQ3K5QNY3OL+zcysF7RyAD4LmA50AS8C90naS9IJTdTdHZgGzAROxBPBZmb9pplJYAAiYmz+9zagdqbnvvzTbb38eEZ+2AVs04N2mq0S+nKSFDxRasvnIRgzs0I5AMzMCuUAMDMrlAPAzKxQDgAzs0I5AMzMCuUAMDMrlAPAzKxQDgAzs0I5AMzMCuUAMDMrlAPAzKxQDgAzs0I5AMzMCuUAMDMrlAPAzKxQDgAzs0I5AMzMCuUAMDMrlAPAzKxQDgAzs0K1FACS3idpb0lrt7pjSRu3WtfMzNrXVABIGilpVn68FXA98BFghqShDereKml0fnyOpLskCRjXXtPNzKwdgxsVkDQCmAoMy6u2B46JiDmStgM2A57rpu6RwJyIeCKv6gAeB3YEXmiz7WZm1oZmrgDeBSYACwAi4kfAPEkHAiOA5+tVkrQecAHwhqTK2b5IobMnMKO9ppuZWTsaBkBELIiIN2tWrwV8EpgHRDdVvwjcCFwJHCXpEOApYFNgKTBT0ja1lSRNlNQpqbOrq6v5npiZWY+0NAkcEfMj4mhgCLBzN8V2BC6LiFeAG4CxEXERcDWwCLgJOLDOtidFxJiIGNPR0dFK88zMrAk9DgBJV0jaMy8OB+Z3U/R5YPP8eAzpaqFSZyGwuJX9m5lZ72g4CVzHt4CrJQVwd0Q8J2kvYNuIuLSm3GRJp5HO+A/LdxDNJgXA7cBn22q9mZm1rOkAiIix+d/fALvXPHcfcF/Nut8BB9RsZmHV42XG/83MrO+0cgWwUhh1ym19ur+55y4znWFmNqB5DN7MrFAOADOzQjkAzMwK5QAwMyuUA8DMrFCr7F1AtvLyHVxmfcNXAGZmhXIAmJkVykNAK6m+HCbxEInZqslXAGZmhXIAmJkVygFgZlYoB4CZWaEcAGZmhXIAmJkVygFgZlYoB4CZWaEcAGZmhXIAmJkVygFgZlaofgkASRv3x37NzOw9PQ4ASZtJuk3SLEkXLKfcSEmzqpbPkXSXJAHjWmyvmZn1klauAM4DvhkRewAbSRpbW0DSCGAqMKxqdQfwOLAj8EIL+zUzs17USgBsRTqQA7wKrFunzLvABGBB1TqRPn56T2BGC/s1M7Ne1EoA/Ag4S9LBwH7AvbUFImJBRLxZs/opYFNgKTBT0jb1Ni5poqROSZ1dXV0tNM/MzJrR4wCIiLOBO4DPAVMj4g9N1rsIuBpYBNwE1P2WkYiYFBFjImJMR0dHT5tnZmZNavUbwZ4ANgH+vof1hgMLgaHAWi3u28zMekGrt4H+K3BhRCyStK2ksxtVkLQVMBt4BDgRzwOYmfWrlq4AIuKsqsfPAKd3U25s1eNfVj1Vd/zfzMz6jt8JbGZWKAeAmVmhHABmZoVyAJiZFcoBYGZWKAeAmVmhHABmZoVyAJiZFcoBYGZWKAeAmVmhHABmZoVyAJiZFcoBYGZWKAeAmVmhHABmZoVyAJiZFcoBYGZWKAeAmVmhHABmZoVyAJiZFapfAkDS2pLW7Y99m5lZ0nIASBop6WfdPDdY0guSpuef7SQdKulpSRsDBwB/bHXfZmbWvsFt1D0fWLOb57YHrouIr1RWSPo88BXgfwNDIuLtNvZtZmZtaukKQNJewFvAK90U2RU4SNIjkqZIGgwsJQXG7sCMVvZrZma9p8cBIGkocAZwynKKPQrsHRG7AENIQz43ACcBvwYukHREN9ufKKlTUmdXV1dPm2dmZk1q5QrgFODyiJi/nDJPRsTL+XEnsGVEzASOAF4khcD/qVcxIiZFxJiIGNPR0dFC88zMrBmtBMDewPGSpgOjJU2uU+ZqSTtIGgR8DJid138UeAB4B4gW9m1mZr2kxwEQEXtGxNiIGAs8AVwo6eyaYt8Ars7P/zQipklaDVgE/H/SRPDP22q5mZm1pZ27gMghAHB6zfqnSHcCVa9bCtyUF/dqZ79mZtY+vxPYzKxQDgAzs0I5AMzMCuUAMDMrlAPAzKxQDgAzs0I5AMzMCuUAMDMrlAPAzKxQDgAzs0I5AMzMCuUAMDMrlAPAzKxQDgAzs0I5AMzMCuUAMDMrlAPAzKxQDgAzs0I5AMzMCuUAMDMrlAPAzKxQ/RYAkkZKGtJf+zczK13LASBpiqSfSjq92TKSTpD0qKRhwPiIWNLq/s3MrD0tBYCkw4BBEbEbsLmkLZssMxqYDOwMvNV6s83MrF2tXgGMBW7Ij+8Gdm+yjIAhwL7AHS3u28zMeoEioueVpCnAxRExW9K+wE4RcW6jMsBvgGOAW4DDgP8bEffX1JsITMyLHwKe63ED27M+8Fof77Mvrcr9c99WXqty//qjb5tGREejQoNb3PgfgDXz47WofyWxTJmIuF7SPGBz4DbgcOAvAiAiJgGTWmxX2yR1RsSY/tr/irYq9899W3mtyv0byH1rdQjoMd4b9tkBmNuDMlsCc4DFbezfzMza1OoVwI+BWZLeD+wPfErS2RFx+nLK7CppHeAV4BngSuAbrTfdzMza0VIARMQCSWOBfYBvRcQrwOwGZd7MT92T/x3dUotXvH4bfuojq3L/3LeV16rcvwHbt5Ymgc3MbOXnMXgzs0I5AMzMClVUAEhaV9Idku6WdLOkofU+0iJ/TtGsOvVvlTQg5y5a7Zukr0uann+elXRq//Sge230bXNJ90p6QtIZ/dP6xtro306Spkl6UNKX+qf1y9dM3+qVyesbftxMf2qzb3WPMX2tqAAAjgQujIh9SXcjfYqaj6uQNAKYCgyrrijpSGBORDzR141uUkt9i4izImJsRIwFngJ+2PdNb6jV39sJwJkRMRoYL6nhG2P6Sav9u4T0xsrdgcMlbdbH7W5Gw77VKbNfMx83MwC02re6x5j+UFQARMTlEVG5C6kD+DTLflzFu8AEYEGlnqT1gAuANySN67sWN6/VvlVI2hl4KSJ+2wfN7ZE2+vY6sL2kkcDqwPy+aXHPtNG/9SLixUh3crwOrNNHTW5aM32rU+ZVmvu4mX7VRt+6/Tvsa0UFQIWk3YARwItA5YD3e2BkRCyoumW14ovAjaT3Lhwl6ZA+a2wPtdC3ii+QzigHrBb6diewK3AScB/wTl+1tRUt9O9BpU/YPQIYBTzZZ43toeX1rbZMRDxEOjuuW26g6WnfGvwd9qniAiCfzV8CHEtzH2kBsCNwWX6/ww2ks5MBp8W+IWk4sEFEzFnhjWxRi307BfhsRJyWy++zotvZqhb794/As6ShrvNigN7T3UzfasrQXbmBpsW+DRgD8kVdUfIEzI3AqRExj+Y+0gLgedLnFwGMAeatwGa2pI2+ARwK3L5CG9iGNvq2GbCxpDVIH0Y4UA+QLfUvIt7lvQ9LvHYFN7MlzfStThnqleuzRjepjb4NHBFRzA/weeANYHr+OZr0DuYLgV8A61aVnV71+P2kA+SDpHcyr93ffemtvuXl/yB9omu/96OXf28HAr8GFgLXkSbo+r0/vfy7mwrs0d99aKdvdcpMIM1n1H0NBspPq33r7nfZHz/FvxM4z8jvA8yMNMSzynDfVl6rcv+a7dvK+BqsbG0uPgDMzEpV1ByAmZm9xwFgZlYoB4CZWaEcAGZmhXIAmJkV6n8A8oiyy4ggyB4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115d3f1cfd0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t3')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115d83b6da0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t3', image_index=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 分红情况：筹资活动产生的现金流"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>分红金额</th>\n",
       "      <td>365,000,000</td>\n",
       "      <td>712,000,000</td>\n",
       "      <td>759,000,000</td>\n",
       "      <td>475,000,000</td>\n",
       "      <td>473,000,000</td>\n",
       "      <td>472,000,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>经营活动产生的现金流量净额(元)</th>\n",
       "      <td>1,545,448,500</td>\n",
       "      <td>1,272,482,600</td>\n",
       "      <td>1,508,960,300</td>\n",
       "      <td>1,555,220,900</td>\n",
       "      <td>1,537,300,000</td>\n",
       "      <td>1,365,377,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>分红占经营现金净额的比例</th>\n",
       "      <td>23.62%</td>\n",
       "      <td>55.95%</td>\n",
       "      <td>50.30%</td>\n",
       "      <td>30.54%</td>\n",
       "      <td>30.77%</td>\n",
       "      <td>34.57%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           2016           2017           2018           2019  \\\n",
       "分红金额                365,000,000    712,000,000    759,000,000    475,000,000   \n",
       "经营活动产生的现金流量净额(元)  1,545,448,500  1,272,482,600  1,508,960,300  1,555,220,900   \n",
       "分红占经营现金净额的比例             23.62%         55.95%         50.30%         30.54%   \n",
       "\n",
       "                           2020           2021  \n",
       "分红金额                473,000,000    472,000,000  \n",
       "经营活动产生的现金流量净额(元)  1,537,300,000  1,365,377,200  \n",
       "分红占经营现金净额的比例             30.77%         34.57%  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t4 = analysis.init_table('t4')\n",
    "t4['分红金额'] = [365000000, 712000000, 759000000, 475000000, 473000000, 472000000]\n",
    "t4['分红占经营现金净额的比例'] = t4['分红金额'] / t4['经营活动产生的现金流量净额(元)']\n",
    "\n",
    "analysis.format_show_table('t4')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115d7142da0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t4')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 公司类型：经营、投资、筹资活动净额的正负"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>经营活动产生的现金流量净额(元)</th>\n",
       "      <td>1,545,448,500</td>\n",
       "      <td>1,272,482,600</td>\n",
       "      <td>1,508,960,300</td>\n",
       "      <td>1,555,220,900</td>\n",
       "      <td>1,537,300,000</td>\n",
       "      <td>1,365,377,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>投资活动产生的现金流量净额(元)</th>\n",
       "      <td>-198,322,518</td>\n",
       "      <td>-1,782,469,713</td>\n",
       "      <td>-1,183,503,791</td>\n",
       "      <td>1,055,539,452</td>\n",
       "      <td>-1,217,671,577</td>\n",
       "      <td>-860,688,952</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>筹资活动产生的现金流量净额(元)</th>\n",
       "      <td>-226,383,520</td>\n",
       "      <td>-365,205,405</td>\n",
       "      <td>-711,857,630</td>\n",
       "      <td>-759,219,240</td>\n",
       "      <td>-461,785,848</td>\n",
       "      <td>-669,982,750</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>三大活动现金流量净额类型</th>\n",
       "      <td>正负负</td>\n",
       "      <td>正负负</td>\n",
       "      <td>正负负</td>\n",
       "      <td>正正负</td>\n",
       "      <td>正负负</td>\n",
       "      <td>正负负</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           2016            2017            2018  \\\n",
       "经营活动产生的现金流量净额(元)  1,545,448,500   1,272,482,600   1,508,960,300   \n",
       "投资活动产生的现金流量净额(元)   -198,322,518  -1,782,469,713  -1,183,503,791   \n",
       "筹资活动产生的现金流量净额(元)   -226,383,520    -365,205,405    -711,857,630   \n",
       "三大活动现金流量净额类型                正负负             正负负             正负负   \n",
       "\n",
       "                           2019            2020           2021  \n",
       "经营活动产生的现金流量净额(元)  1,555,220,900   1,537,300,000  1,365,377,200  \n",
       "投资活动产生的现金流量净额(元)  1,055,539,452  -1,217,671,577   -860,688,952  \n",
       "筹资活动产生的现金流量净额(元)   -759,219,240    -461,785,848   -669,982,750  \n",
       "三大活动现金流量净额类型                正正负             正负负            正负负  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t5 = analysis.init_table('t5')\n",
    "t5_tmp = t5.copy()\n",
    "\n",
    "t5_tmp.loc[t5['经营活动产生的现金流量净额(元)']>0, '经营活动产生的现金流量净额(元)'] = \"正\"\n",
    "t5_tmp.loc[t5['经营活动产生的现金流量净额(元)']<0, '经营活动产生的现金流量净额(元)'] = \"负\"\n",
    "\n",
    "t5_tmp.loc[t5['投资活动产生的现金流量净额(元)']>0, '投资活动产生的现金流量净额(元)'] = \"正\"\n",
    "t5_tmp.loc[t5['投资活动产生的现金流量净额(元)']<0, '投资活动产生的现金流量净额(元)'] = \"负\"\n",
    "\n",
    "t5_tmp.loc[t5['筹资活动产生的现金流量净额(元)']>0, '筹资活动产生的现金流量净额(元)'] = \"正\"\n",
    "t5_tmp.loc[t5['筹资活动产生的现金流量净额(元)']<0, '筹资活动产生的现金流量净额(元)'] = \"负\"\n",
    "\n",
    "t5_tmp['三大活动现金流量净额类型'] = t5_tmp['经营活动产生的现金流量净额(元)'] + \\\n",
    "t5_tmp['投资活动产生的现金流量净额(元)'] + t5_tmp['筹资活动产生的现金流量净额(元)']\n",
    "t5['三大活动现金流量净额类型'] = t5_tmp['三大活动现金流量净额类型']\n",
    "\n",
    "analysis.format_show_table('t5', ignore=['三大活动现金流量净额类型'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ID4+ngYNGlCvXj3uueceXn31VSAIACVKlODPP//kyy+/ZETv2w/ZhvSJ6eiDrE9JSSE6OhozY9GiRZmGiQBOP/10ALZu3YqZMWrUKP773/8yaNAgmjRpwrx585g2bRo9e/ZkypQpzJw5kwULFvCvf/0LgGuuuYZ7772X9u3bA/Dss89mOjnu3buXYcOG8emnnzJ9+nTq1KnDH3/8Nc68adMmFi5cSNOmTfn000+ZNWsW0dHR4Z7BmjVrSEtLIzExkQoVKvDWW2/Ro0cPChcuzGeffQYQ7hkUKlQovN8qVapw9tlnM3XqVLZu3UrLli0FxvrQAAARnElEQVRp3rw5Xbt2JTExkYULF7J3714KFy4MBEGsTZs2XHPNNZx66qmsX7+e9u3b8/LLLwMQFRXFli3BfR59+/bl/PPPp3bt2qxbt44LL7zwkL8jkdyWVz2DVKAN8H76And/18xizKwZUBpYnkd1OaaSkpLYsGEDLVu2pFu3bnTq1Cl8qWXnzp2Jjo6mS5cuxMfHM378+PA9BulWr14dHsf+9ddfqV27NtWqVWPjxo1cffXVmXoG9erVA6By5cr07//XlUATJkygU6dOVKhQgQYNGlCpUiUSEhIYNGgQN910EwUKHDrj5YJvl3J//6eILVo60/I33ngDgH379jF27FgqVqxIrVq1+Oijj5gzZw5ffPEFEFwV9fjjj1OnTh0A7r33Xu69914AnnvuOb744gvGjRvHtm3bmDBhAhMmTAgHrptuuolNmzaxadMmnnrqKQA2bNhA9erVefLJJxk5ciQpKSncfPPNrFy5kscff5xp06YxcOBAUlJS2LdvH1dffTXdunVj4cKFvP7665QsWRKAPXv24O7hXtKIESM444wzwpd+puvduzcrVqzIMjPon3/+yfvvv88HH3zAf//7X5555hneeustypcvz/fff5/p92dmPPXUU3zyySc0aNCAq666imHDhnHppZcCQcC58847effdd4mPj+fBBx9kwoQJ4autRCLJsnvH5xHt1OxF4LwMiz519/5mNsvd62coVwp4hiBYdHb3tP320xXoClChQoVav/zyS6bjLF26NNPVGycSdycpKYmCBQsetmxaWlqmm9zSbd++nRIlShC1cUn2Dnr6xUdaTSCYN0lJSSEuLu6Adfv27ctWG7Ljzz//ZM+ePZxyyinHZH/pFi5c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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115d73375f8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t5')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 现金增长情况：现金及现金等价物净增加额"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>五、现金及现金等价物净增加额(元)</th>\n",
       "      <td>1,121,281,600</td>\n",
       "      <td>-876,051,800</td>\n",
       "      <td>-385,568,200</td>\n",
       "      <td>1,852,076,400</td>\n",
       "      <td>-143,199,800</td>\n",
       "      <td>-166,107,700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>分红金额</th>\n",
       "      <td>292,000,000</td>\n",
       "      <td>365,000,000</td>\n",
       "      <td>712,000,000</td>\n",
       "      <td>759,000,000</td>\n",
       "      <td>475,000,000</td>\n",
       "      <td>473,000,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>分红+现金净增加额</th>\n",
       "      <td>1,413,281,600</td>\n",
       "      <td>-511,051,800</td>\n",
       "      <td>326,431,800</td>\n",
       "      <td>2,611,076,400</td>\n",
       "      <td>331,800,200</td>\n",
       "      <td>306,892,300</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                            2016          2017          2018           2019  \\\n",
       "五、现金及现金等价物净增加额(元)  1,121,281,600  -876,051,800  -385,568,200  1,852,076,400   \n",
       "分红金额                 292,000,000   365,000,000   712,000,000    759,000,000   \n",
       "分红+现金净增加额          1,413,281,600  -511,051,800   326,431,800  2,611,076,400   \n",
       "\n",
       "                           2020          2021  \n",
       "五、现金及现金等价物净增加额(元)  -143,199,800  -166,107,700  \n",
       "分红金额                475,000,000   473,000,000  \n",
       "分红+现金净增加额           331,800,200   306,892,300  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t6 = analysis.init_table('t6')\n",
    "\n",
    "# 当年的分红其实是上一年年报中计划的分红，而实际分红可能会和年报中披露的不一致，需要查同花顺个股获取当年的分红\n",
    "t6.loc[2016, '分红金额'] = 292000000\n",
    "\n",
    "t6['分红金额'][1:] = t4['分红金额'][:-1]\n",
    "t6['分红+现金净增加额'] = t6.T[:2].sum()\n",
    "\n",
    "analysis.format_show_table('t6')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEGCAYAAACNaZVuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAFKBJREFUeJzt3XuUZWV95vHvw1VAhUYKlNFOQyIalUuYcpRosHFAiXjJMhMgIRlRk9YY1FETAyGR6DIRsrxMQgBp1BlUJEpWGGW8BBLsiKwYp8l4IVEHMbQXZNHBC0QSiPCbP/YuPZSnqk5V9TlV1e/3s9ZZnL3Pu8/7e6up5+x6995np6qQJLVll5UuQJI0eYa/JDXI8JekBhn+ktQgw1+SGmT4a6eX5ICVrkFabQx/7dSS7A58PMnZi9jmx5I8fmD5F5LsOaTdNUmePrC8PskHk+w1pO1n+/fdJ8kjkzw8yQVJXtM/X59kt77tboseqLRI/k+mVS/JkcBlQIDvA38P3A88Fbirb7YHcEdVHTdr8wuAq4CnJ/lCVf3FHH3cBvx4VX0P2Ad4S5KTgCcBrwY+NGSze4B7++13By4Hbqyqfx3S9s6+7U8Cvwb8O/CfgMcAhwB7AmcDtwMfS3JBVV2Z5BLgPwPfGnivxwDPq6prh41FGoXhr1Wvqj4LPCHJx4CXVtUtSS4EfgPYThf824GLZ7ZJsgvwNmCXqvqdJA8FPpTkCOAPq+reWd38G3BPkpOBPwS+DnwF+A5dcG9L8sy+lmEu7mt42ewXklwM3EcX7h+l+0C5EzgQeAjwIODWqrq93+Qc4INJPkP3IfG6qnrvwPtt6ddLS2b4a626v//vicDewP8ACiDJBuASuoB9eZKH921fQBfSNyd5V//89oH32pVuKvQa4IPAzwFXAscC36ML8B+R5E/o9uifXlX3zXptCnhcv+0twHHAy+nC+yV0HzIfBnZJ8hNV9eWqur6fprpvoLbZvDRfy+Kcv1a9dPboF3ftp1hm7ApsG2h7JHA93TTRHsA7gOuAj9FNAe0KPAs4GHgosKlv/3BgC7AR2B04n+734znAUQPvv0uSXWeV+AXgOYPTPUl26//6eALwuX71e/taTgZOBb5Lt+d/av84emb7qrq4qr7a1zuMv7talvjdPlrtkjwa+AtgPfANur36n6DbKz+RbirlZuDtVXVikr1mBfEbgS9X1f+cp49b+vc8GXg28NfA84FPAbcCvw68CFhH91fGvcAjgTvo5v4P6WuYsWe//RTdtM6rgVOr6rYk7wf+w6wSLqiqywfqeTDwCLoPhRfTfZDdBTyM7i+Il1XVp+f9wUnzcNpHq15V3QQcPmvO/5L+5cOBG+kCcY++/b8muYHuAPH9dHv59yQ5g25Peq+qeuwc3V0H3N0/v2Rg/RuBr1bV54BDAZL8b+Dcqvpkks8DJ1fVF4a9aZJXDyweSTflMzNF9Hxg9umorwGmquqMJDMHlm8EfrmqTp+jdmlkhr/Wqj+mC8RD6A7QPhZ45cDrJwLPqKrLBvf8k7yGbj5/LrcCV9N9AMz8WbwncFdV/a95tjsPuDDJ8bPn/Yf4Pt0HwMx8/iPpDi4DkORguumomemmxy1Qs7Rozhtq1UuyZ3+WzhTwp0kuqaobgZcCb6cL0bur6vMDm+1Gd7rmowbeZx/gt+imaWbWrUvyXLr5/6v797ynf98/7R/voT+lc476nk0X3ncBlw67JmCImXn/U4H/OOu1twFvq6rtSQ4ETgD+clafG0bsRxrK8Nda8AvARXQh/JvApn4P/vF0fwFAd1z495OcBlBV36Q7m+f0gfd5EfDuqvrawLoT6A7yPgc4oaou6Nd/feBx2xx17UG3x/92umMBv0g3fXNDkuf1B3wH284sB9hYVU+tqqcCfzTTqP+QOwr4kz74PwKcV1Uzf4nMBP5vAq+aoy5pQR7w1ZrSXz37EeAfgNdU1T39sYA7gMPoAvi36C4Ag+6Uyv36/z4Y+DbdXPvewGHDpmiS/GPfbuaX40HAv1fVMQNtdqE7zvCXwKuq6l/69aE7138D8Nrqf8GSfAo4paq2JbkJ+Mmq+n6SvYH/A5xRVR/v2+7d13858OaqelO//mDgWropqQcBP1tVPzjTSVoMw19rTpJ9+itxV7qOg6vq1jG9957AI6rqlnG8v2T4S1KDnPOXpAYZ/pLUoFV7nv8BBxxQGzZsWOkyJGnNuOGGG/65qqZGabtqw3/Dhg1s3bp1pcuQpDUjychnfzntI0kNMvwlqUGGvyQ1yPCXpAYZ/pLUoLGEf5J9k3w0ydVJrpy5C1OSC5M8Zxx9SpJGN649/9OAt1bVM+i+EfHEJD8DPLyqrhpTn5KkEY0l/Kvqwqq6pl+covuGxEuAW5I8bxx9SpJGN9aLvJIcQ/c954cB/0j3veUvT7K+qs4f0n4T3R2MWL9+/ThLkyZuw5kfnlhft5x70sT60to0tgO+SfYHzqe7gcZPAZur6jbgvcBxw7apqs1VNV1V01NTI12hLElagnEd8N0DuAI4q7/ZxJfpb3oNTAPegEKSVtC49vxfDBwNnJ1kC92c/3FJPkF3l6M3j6lfSdIIxjLnX1UX0d1zddCl4+hLkrR4XuQlSQ0y/CWpQYa/JDXI8JekBhn+ktQgw1+SGmT4S1KDDH9JapDhL0kNMvwlqUGGvyQ1yPCXpAYZ/pLUIMNfkhpk+EtSgwx/SWqQ4S9JDTL8JalBhr8kNcjwl6QGjeUG7kn2Bf4M2BX4HnD6rOVTqurecfQtSVrYuPb8TwPeWlXPAG4DXjBr+cQx9StJGsFY9vyr6sKBxSng0qr61MDy7ePoV5I0mrHO+Sc5Blg3E/yzl4e035Rka5Kt27dvH2dpktS0sYV/kv2B84EXDVsepqo2V9V0VU1PTU2NqzRJat5Ywj/JHsAVwFlVtW328jj6lCSNblx7/i8GjgbOTrIFOGtwOckpY+pXkjSCcR3wvQi4aNbq14+jL0nS4nmRlyQ1yPCXpAYZ/pLUIMNfkhpk+EtSgwx/SWqQ4S9JDTL8JalBhr8kNcjwl6QGGf6S1CDDX5IaZPhLUoMMf0lqkOEvSQ0y/CWpQYa/JDXI8JekBhn+ktQgw1+SGmT4S1KDxhr+SQ5Kcl3//PVJtvSPLyY5a5x9S5Lmttu43jjJOuBSYB+Aqjpn4LU/B949rr4lSfMb557/fcApwJ2DK5M8Efh6VX1jjH1LkuYxtvCvqjur6rtDXnolcP6wbZJsSrI1ydbt27ePqzRJat5ED/gm2Q84sKpuHvZ6VW2uqumqmp6amppkaZLUlEmf7fM84CMT7lOSNMukw/+ZwCcm3KckaZaxne0zo6o2Djz/pXH3J0lamBd5SVKDDH9JapDhL0kNMvwlqUGGvyQ1yPCXpAYZ/pLUIMNfkhpk+EtSgwx/SWqQ4S9JDTL8JalBhr8kNcjwl6QGjf0rnVfChjM/PLG+bjn3pIn1JUk7inv+ktQgw1+SGmT4S1KDDH9JatBEwz/JI5Icn+Qhk+xXkvRASwr/JHsneVqSec8WSnJQkuv654cB7weeAvxNkj2W0rckafkWDP8+tGc7FHgFcOU8260DLgX26VcdAbywql4PfAU4ZNHVSpJ2iFH2/P8hycsHV1TVjVX188DD5tnuPuAU4M5+mz8HtiU5CVgHfHlpJUuSlmuU8P9/wKOSXJnk4Fmv3T3XRlV1Z1V9d9bqBwMnA9uAmr1Nkk1JtibZun379hFKkyQtxSjhf09VvRY4F3h/krOSzEzlZDGdVdV3quoFwO7AE4e8vrmqpqtqempqajFvLUlahHnDP8ku9F8BUVV/BxwL3A5cm+RK4I5RO0pyUZJj+8X9gO8sqWJJ0rIt9N0+LwPOnlmoqgLeCbwzyYFVdfsi+voj4D1JCri6qr606GolSTvEnOGfJMD9wO8k+QPg3v4xY5ckD6qqo+broKo29v/9J+Cpy65YkrRsc077VOfCqjqGbu9/d+C9wFOq6qer6skLBb8kaXUa6SKvqroKOAb4t1G3kSStXiN/n39V3Q28a4y1SJImxL14SWqQ4S9JDTL8JalBhr8kNcjwl6QGLSr8kzwuyW5Jdk/yuHEVJUkar5FP9ezdCDyW7gvdPg/susMrkiSN3WLD/xDgG/3zQ3dwLZKkCVlU+FfVtoHFbXM2lCStaiPN+Sd5/JB1L+q//E2StMaMesD3vyfZkGT3gXWn91/xLElaYxZzts8vAjcleV+SX+GHN2aXJK0xC93J60lJzqP7huc3VdUG4A+AKWD2/XwlSWvEQnv+hwNXzCwkeRTwLGADcNP4ypIkjdO84V9V76iqrXR37TqZ7iudbwNeP4niJEnjMe+pnkkeBnwLeFdVfQD4wMBrX02yS1XdP+YaJUk72ELn+Z8DPB24KsnrZr12E/AG4HfHUZgkaXzmDf+qekWSQ4D/Bvwa3YfBZ/qXA+w1akdJ1gGXAQcCN1TVS5ZUsSRp2RY81bOq/qmqXgn8NLB3VV0PHFBVn6yqaxbR168Al1XVNPCQJNNLK1mStFwLhn+Sg5McCzwc+LskjwBeu4S+7gCekGQ/4FHA15bwHpKkHWChA777Av8FeCLwFOCjwOeAe5bQ1yeBk4BXAF+gO5A8u79NwCaA9evXL6ELSdIo5tzzT3Ig8PfAc4G3AzcD5y2jr3OAl1bVG4AvAi+c3aCqNlfVdFVNT01NLaMrSdJ85gz/qrqd7iKvrwBHAfsBTwYOA/ZL8rQkxy+ir3XA4Ul2BZ4E+L1AkrRCFrrI627gS8ARwL500z8/3j9/GnDcIvp6E7AZ+C6wP3D5EuqVJO0Ac875J3kI8Gd08/tvobuRy/nAzwIP7advRlZVnwZ+5KuhJUmTN9+0z13ArwJ/A7wUeDTw2xOqS5I0Rgtd5PXNJFcAfwv8Md2HxVeB0yZQmyRpTBa8jWNV3QrcOrguyRvHVpEkaewWczOXH6iqq3d0IZKkyVlS+EuS1jbDX5IaZPhLUoMMf0lqkOEvSQ0y/CWpQYa/JDXI8JekBhn+ktQgw1+SGmT4S1KDDH9JapDhL0kNMvwlqUGGvyQ1yPCXpAZNPPyTHJTk/066X0nSD63Env+bgb1WoF9JUm+i4Z/k6cD3gNsm2a8k6YEmFv5J9gB+DzhznjabkmxNsnX79u2TKk2SmjPJPf8zgQur6jtzNaiqzVU1XVXTU1NTEyxNktoyyfA/HviNJFuAo5K8Y4J9S5IG7Dapjqrq2JnnSbZU1a9Oqm9J0gNNLPwHVdXGlehXq9uGMz880f5uOfekifa3M/Pfbu1ZkfCXpLVkkh9uk/pg8wpfSWqQ4S9JDTL8JalBhr8kNcjwl6QGGf6S1CDDX5IaZPhLUoMMf0lqkOEvSQ0y/CWpQYa/JDXI8JekBhn+ktQgw1+SGmT4S1KDDH9JapDhL0kNMvwlqUGpqpWuYajp6enaunXrSpex6nijbElzSXJDVU2P0nZie/5JDkpy3aT6kyTNbSLhn2QdcCmwzyT6kyTNb1J7/vcBpwB3Tqg/SdI8dhvHmya5GHjMwKprq+oNSRbabhOwCWD9+vXjKE2SxJjCv6pessTtNgOboTvgu0OLkiT9gKd6SlKDDH9JatBEw7+qNk6yP0nScO75S1KDDH9JapDhL0kNMvwlqUGGvyQ1yPCXpAYZ/pLUIMNfkhpk+EtSgwx/SWqQ4S9JDTL8JalBhr8kNcjwl6QGGf6S1CDDX5IaZPhLUoMMf0lqkOEvSQ0y/CWpQRMJ/yS7Jflqki394/BJ9CtJGm63CfVzBHB5Vf32hPqTJM1jUtM+TwaeneTTSd6ZZFIfOpKkIcYSwkkuBh4zsOrjwPFV9c0k7waeBXxoyHabgE0A69evH0dpa94t55600iVI2gmMJfyr6iWDy0n2rKp7+sWtwKPn2G4zsBlgenq6xlGbJGly0z7vSXJkkl2BnwM+O6F+JUlDTGru/Q3A+4AAH6qqv5pQv5KkISYS/lV1I90ZP5KkVcCLvCSpQYa/JDXI8JekBhn+ktQgw1+SGpSq1XktVZLtwLYJd3sA8M8T7nNSHNvatTOPz7HtWD9WVVOjNFy14b8SkmytqumVrmMcHNvatTOPz7GtHKd9JKlBhr8kNcjwf6DNK13AGDm2tWtnHp9jWyHO+UtSg9zzl6QGGf6S1KAmwj/Jvkk+muTqJFcm2aO/neTfJvndgXYHJbluyPZXJTlqslWPZqljS/L6JFv6xxeTnLUyI5jfMsZ3aJK/TvKZJL+3MtXPbxljOzrJXyW5PslrVqb6+Y0ytmFt+vU/8jNYbZY5vqE5M2lNhD9wGvDWqnoGcBtwKrBrVR0DHJrk0UnWAZcC+wxumOQ04Oaq+sykix7RksZWVedU1caq2gjcCLx78qWPZKn/dmcAr6uqo4BnJhnpwpcJW+rYzgdeCDwV+Pkkh0y47lEsOLYhbU5M8vwh7VajpY5vaM6shCbCv6ourKpr+sUp4JeBD/TLV9P9Et0HnALcObNdkv2BtwDfTnLc5Coe3VLHNiPJE4GvV9U3JlDuoi1jfHcARyQ5CNgT+M5kKh7dMsa2f1V9rbqzNe4AHjqhkkc2ytiGtLkd2Di73WQqXpxljG/O38VJayL8ZyQ5BlgHfA2YCbtvAQdV1Z1V9d1Zm7wKuAK4GPivSZ47sWIXaQljm/FKuj3JVW0J4/sY8GTgFcC1wPcnVetiLWFs1yc5I8kvARuAz02s2EWab2yz21TVp+j2iIe2W40WO74Ffhcnqpnw7/fizwdeBPwLsFf/0oOZ++fwU8AFVXUb3af6xjGXuSRLHBtJ9gMOrKqbx17kMixxfGcCp1fV2X37E8Zd51IscWwvAb5IN7V1Xq3S87VHGdusNszVbjVa4vhWjVX7g92R+gMtVwBnVdU24AZ++OfkkcAtc2z6ZeDQ/vk0k/+iuQUtY2wAzwM+MtYCl2kZ4zsEeFSSBwFHA6suIJc6tqq6D/hSv3jZmMtcklHGNqQNw9pNrOhFWMb4Vo+q2ukfwK8D3wa29I8XAJ8F3gp8Adh3oO2WgecH04Xj9cA1wENWeiw7amz98vuAo1d6DGP6tzsJ+ApwF3A53cG4FR/PDvy3uxT4mZUew3LGNqTNKXTHL4b+DFbTY6njm+vfcyUezV7h2x91PwH4RHXTOjuNnXlssHOPz7Gt3Z/BWqu72fCXpJY1MecvSXogw1+SGmT4S1KDDH9JapDhL0kN+v88K++ya/SXSAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115d71acd68>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t6')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 可用现金情况：期末现金及现金等价物余额"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>六、期末现金及现金等价物余额(元)</th>\n",
       "      <td>3,438,839,800</td>\n",
       "      <td>2,562,788,000</td>\n",
       "      <td>2,177,219,900</td>\n",
       "      <td>4,029,296,300</td>\n",
       "      <td>3,886,096,500</td>\n",
       "      <td>3,719,988,800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>短期借款(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6,076,200</td>\n",
       "      <td>29,616,700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一年内到期的非流动负债(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5,387,600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>长期借款(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应付债券(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>长期应付款</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>有息负债总额</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6,076,200</td>\n",
       "      <td>35,004,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末现金余额-有息负债</th>\n",
       "      <td>3,438,839,800</td>\n",
       "      <td>2,562,788,000</td>\n",
       "      <td>2,177,219,900</td>\n",
       "      <td>4,029,296,300</td>\n",
       "      <td>3,880,020,300</td>\n",
       "      <td>3,684,984,500</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                            2016           2017           2018           2019  \\\n",
       "六、期末现金及现金等价物余额(元)  3,438,839,800  2,562,788,000  2,177,219,900  4,029,296,300   \n",
       "短期借款(元)                        0              0              0              0   \n",
       "一年内到期的非流动负债(元)                 0              0              0              0   \n",
       "长期借款(元)                        0              0              0              0   \n",
       "应付债券(元)                        0              0              0              0   \n",
       "长期应付款                          0              0              0              0   \n",
       "有息负债总额                         0              0              0              0   \n",
       "期末现金余额-有息负债        3,438,839,800  2,562,788,000  2,177,219,900  4,029,296,300   \n",
       "\n",
       "                            2020           2021  \n",
       "六、期末现金及现金等价物余额(元)  3,886,096,500  3,719,988,800  \n",
       "短期借款(元)                6,076,200     29,616,700  \n",
       "一年内到期的非流动负债(元)                 0      5,387,600  \n",
       "长期借款(元)                        0              0  \n",
       "应付债券(元)                        0              0  \n",
       "长期应付款                          0              0  \n",
       "有息负债总额                 6,076,200     35,004,300  \n",
       "期末现金余额-有息负债        3,880,020,300  3,684,984,500  "
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t7 = analysis.init_table('t7')\n",
    "t7['有息负债总额'] = t7.T[1:6].sum()\n",
    "t7['期末现金余额-有息负债'] = t7['六、期末现金及现金等价物余额(元)'] - t7['有息负债总额']\n",
    "\n",
    "analysis.format_show_table('t7')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115d7350710>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t7')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 考虑用理财产品还债：准货币资金减有息负债"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>货币资金(元)</th>\n",
       "      <td>3,448,409,300</td>\n",
       "      <td>2,581,883,300</td>\n",
       "      <td>2,196,706,800</td>\n",
       "      <td>4,054,121,700</td>\n",
       "      <td>3,921,052,700</td>\n",
       "      <td>3,802,201,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>交易性金融资产(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1,360,000,000</td>\n",
       "      <td>2,352,000,000</td>\n",
       "      <td>2,872,312,500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其他流动资产里的理财产品</th>\n",
       "      <td>0</td>\n",
       "      <td>1,500,000,000</td>\n",
       "      <td>2,570,000,000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其他流动资产里的结构性存款</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>准货币资金</th>\n",
       "      <td>3,448,409,300</td>\n",
       "      <td>4,081,883,300</td>\n",
       "      <td>4,766,706,800</td>\n",
       "      <td>5,414,121,700</td>\n",
       "      <td>6,273,052,700</td>\n",
       "      <td>6,674,513,800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>短期借款(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6,076,200</td>\n",
       "      <td>29,616,700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一年内到期的非流动负债(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5,387,600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>长期借款(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应付债券(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>长期应付款</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>有息负债总额</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6,076,200</td>\n",
       "      <td>35,004,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>总货币资金与有息负债之差</th>\n",
       "      <td>3,448,409,300</td>\n",
       "      <td>4,081,883,300</td>\n",
       "      <td>4,766,706,800</td>\n",
       "      <td>5,414,121,700</td>\n",
       "      <td>6,266,976,500</td>\n",
       "      <td>6,639,509,500</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         2016           2017           2018           2019  \\\n",
       "货币资金(元)         3,448,409,300  2,581,883,300  2,196,706,800  4,054,121,700   \n",
       "交易性金融资产(元)                  0              0              0  1,360,000,000   \n",
       "其他流动资产里的理财产品                0  1,500,000,000  2,570,000,000              0   \n",
       "其他流动资产里的结构性存款               0              0              0              0   \n",
       "准货币资金           3,448,409,300  4,081,883,300  4,766,706,800  5,414,121,700   \n",
       "短期借款(元)                     0              0              0              0   \n",
       "一年内到期的非流动负债(元)              0              0              0              0   \n",
       "长期借款(元)                     0              0              0              0   \n",
       "应付债券(元)                     0              0              0              0   \n",
       "长期应付款                       0              0              0              0   \n",
       "有息负债总额                      0              0              0              0   \n",
       "总货币资金与有息负债之差    3,448,409,300  4,081,883,300  4,766,706,800  5,414,121,700   \n",
       "\n",
       "                         2020           2021  \n",
       "货币资金(元)         3,921,052,700  3,802,201,300  \n",
       "交易性金融资产(元)      2,352,000,000  2,872,312,500  \n",
       "其他流动资产里的理财产品                0              0  \n",
       "其他流动资产里的结构性存款               0              0  \n",
       "准货币资金           6,273,052,700  6,674,513,800  \n",
       "短期借款(元)             6,076,200     29,616,700  \n",
       "一年内到期的非流动负债(元)              0      5,387,600  \n",
       "长期借款(元)                     0              0  \n",
       "应付债券(元)                     0              0  \n",
       "长期应付款                       0              0  \n",
       "有息负债总额              6,076,200     35,004,300  \n",
       "总货币资金与有息负债之差    6,266,976,500  6,639,509,500  "
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t8 = analysis.init_table('t8')\n",
    "t8['准货币资金'] = t8.T[:4].sum()\n",
    "t8['有息负债总额'] = t8.T[5:10].sum()\n",
    "t8['总货币资金与有息负债之差'] = t8['准货币资金'] - t8['有息负债总额']\n",
    "\n",
    "analysis.format_show_table('t8')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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+8CBA9m5cydvvfUWkydPLlR2ypQpXHTRRQD07t2br776igULFvDcc8HzsNesWUPv3r256KKL6NGjB2eeeSZt27alcePGtGzZkmuvvbZgW08//XTBkMsbb7zBmDFj9llPd6dfv3784Q9/qLC2i0j1kpC7eprZVcB5BA+svgFY5+6PhPdZn+nubxWz3hCCh1aTmZl5ysqVhX+stnTpUo499tiC91nD4ve4yyt3xHn7/Hzv3r1ccskl9O3bl7S0NAYNGkT79u3ZuXMnaWlpbN++nTFjxvDVV18xYMAA5s2bR9OmTfnNb35D/fr1ad26NVdddRXHH388eXl5zJgxgzp16nDQQQfxyiuv0KRJE66++mpSUgqfk6dPn87YsWP585//TO/evalZsyZ79+4lLy+PevXqMWvWrELlhw0bRmZmJhs2bKB27doMHTq0QoZtih5/kSgpT96UlCkVzcw+dPfs0pRN1LDPycBYd19H8CzTs8JH0J1F4Yd+FOLuY909292zMzJKdXuKpKpRowbPPPMMjRs35s477+T8889n+vTpNG7cmLFjx/Luu++yZcsWXnvtNbp06UJubi533nkn27dvZ8SIEYwcOZJPP/2UuXPnkpKSQrdu3ejYsSPt2rXj8MMPp3bt2j8LfoBu3boxePBgNm3axMsvv0znzp059thjefbZZwt9C9izZw/XXHMN9erV49prr2X48OG4O127dmXu3LnJPFQiUskl6oLvF/z7CUvZwEqCJystKOYJR1VGnTp1SEtLo3Xr1sycOZNu3brxySefcPnll5OWlsbs2bPp2LEjgwYNolWrVowZM4YZM2YwevRo0tLSMDOGDx8OQOfOndm2bRu1atVi7dq1pKSkMH78eHbs2EH9+vWZPn0627dvZ9iwYTRp0oS2bdvywgsvcPjhh9OtWzeGDx9O06ZN6d+/PykpKVxzzTU0adKEpUuXMmPGjII6Z2RkcM8999CzZ0+uueaaA3XoRKQSSVT4Pwk8FT7DNY3gkXnXAXMStL+kWbp0KStXruSBBx5gxIgRjB8/nj59+jBixAhi70K6a9euuEE7Y8YMatYMnk+enp7OhAkTaNasGY8//jjp6ekMHDiQ3Nxcrr/+egBq1apF165deeihh3j66adp2LAhqampvPrqqwBcccUVHH300aSmpjJx4kR+8YvgGeXjx48HYODAgYk7GCJSZSUk/N19C9CryOJqcfVx3LhxnHPOOQC8+eab9OzZk5ycHAYNGkRaWhrTpk0DYNGiRSxevJglS5ZQq1YtWrduzZFHHklq6r8PeWnG4VNSUsjOzqZJkya8/fbbzJ49mzp16tChQwfuuusu0tLSOOiggwDYvHkzffv2pWbNmnzzTfD88L///e/s2rWL2267jfPOS+74o4hUXlXqR14H2qZNm5g5c2ZB+J999tlMnjyZjh078re//a0g+AGOOuooAIYOHcratWtZtWoVrVq1Ys+ePQVlipsKunv37kJj/7HrPPTQQ7g7CxcupGnTpgXBD9CmTRvOO+88Ro0axdChQxk6dCjPP/88WVlZCn4RKUThXwZz5szhsssuIyUlBXdn2rRpdOzYkTlz5tCrVy86dOjAqFGjWL16Nddddx0DBgygbdu2NGjQgL59+9KwYUMWL15csL3mzZsXDAG5O+7OokWL+PWvf02PHj0Kyh1yyCFcffXV9O/fn3PPPZfMzEweeeQRnnzySRYtWsTevXsLynbv3p2bb7654P3o0aO58MILk3B0RKQqqVL39ikq2dOoevbsWfB67969dO/evWBsPd/WrVu56KKLOOGEE7jlllto164dAHPnzuXdd9/l0Ucf5cknnyQlJYUnnniiYL3du3djZpx00kl89tlnBcND27ZtY9CgQRx//PHcfffdtGrVCgjm/q9bt44XXniBGjVqANCnTx/Wr1/P+vXrGTlyJADffPMNJ5xwAg8//DCPPvooJ554YsKOj4hUHQmZ518RsrOzveiTvDTP/MDS8Zco0zx/ERGp8hT+IiIRpPAXEYmgKn3BV0Qqj/LeayvZ4+ISUM9/P3z33Xf7/Hzr1q2lujXzTz/9lPTbL8+ZM4c1a9YAwa+R8/efl5dXaOqoiFRPVbvnf1e9Ct7eD2Uq3qNHD1566SUyMzMLLd+2bRsrVqxg3rx5vPfeewwdOrTgs6ysLOrUqVOo/IABA7juuusKfjwWz/XXX19wd87ly5czZswYHnnkEfLy8mjevHnBr4WnTJlCo0aNOPXUUwHo168f48aNo1atWoW2N336dI4//nguu+wy7rzzThYuXMjixYs5+eSTufXWW+natWuZjoWIVC1VO/wPgNNPP526deuyc+dOli1bxpAhQwo+27VrF4MHDyYrK4v77ruPXr16cdZZZ5E/ZXXy5MnccMMNdO7cuWCdUaNGsXz5ckaMGMGIESNYuHAh06ZN47TTTisos2zZMnJzc9mwYQNvvvkm33//PWvWrOGll15i+/bt/O53vyuY63/qqacyePBgJk2axNy5c2nQoEGh4H/hhRcYPnw4TZo04f333+fmm2/m22+/JTc3l4ceeojHH3880YdQRCoBhX8Z5d8a+eqrr2bw4MH069fvZ2UWLlzIp59+ytatWwstz83NLQjpPXv2cN9997Fs2TI+/vhj0tLSmDdvHuPGjSsU/AC333475513HkcccQSvvPIKu3fvZtWqVUyePJk2bdoUbHP16tVkZ2dzzDHH0KlTp4L169evz3fffUdqaipNmzbllltu4f3332fChAnMnDmTBQsWMHXqVLZs2cI//vGPuG0SkepF4V8OkyZNYtKkSXz55Zc89dRTAPzwww+cdtppjBo1CnenTZs2BU/yypd/J04IfjC1detW3nnnHbp3716o3Mknn0yPHj24//77efnll/nggw8455xzGD9+PD179mTHjh2sXr2a1q1bs3v3bhYsWECHDh2oWbMm3bp1+9mvjjt16lRwgjjllFO44447ADjiiCN48MEHefXVV2nevDldunRh9OjRCn+RCFD4l9Err7zCsGHDyMrKKnQPnX/+8598++23QHCrhiVLlrBt27ZC6+bm5hbcpO2EE07gT3/6E3PmzGHWrFls3LiRFStW0L59e6ZPn878+fOBYBjnnnvuYceOHQwYMIA+ffoUbG/ZsmW0adOGDh06AMHF2pycnEK9foB169axd+9eUlNTmT9/PldeeSUTJ04kKyuLXr16MX/+fI499ljeeOMNmjVrVuHHTEQqH4V/GeTk5DB27FgmTpzIkCFDSE9PL/isZs2aBRddTz/9dFatWgUEgbx582YaNmwI8LOZNPnrfPTRR8yePZv27dsDFMy+adq0KXXq1GHHjh3s3r2bZs2a8dhjj/H8888zePDgQheJa9WqRU5ODlu3buXll1+md+/e1K9fn5UrVxbcJTQrK4tJkyZx1FFH0bx5c/r06UOTJk34/vvvadiwIevWrUvEoRORSkZTPcsgOzub119/nUMOOYQvv/yy4CLtiBEjePbZZwvK3XvvvaxYsYJBgwYxb968goe6fPDBBz8bUsn/JjB79my6deuGu1OjRo24Uz/dnbp167J8+XI+/PBD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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115d738e128>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t8')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEGCAYAAACNaZVuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xl8VdW99/HPL4QZEkACGSQkKIhMggan4jwrKta22trBqsUOPq2tHbxaq7W2fdrbetvaa29xaK21dnqKFXDWqwJVKxYIIAIKWEjCJAIJc5Lf88fagUNMSEhyTnKyv+/X67xy9j57n73WSfLd66y999rm7oiISLxktHcBREQk9RT+IiIxpPAXEYkhhb+ISAwp/EVEYkjhL52GmQ1s7zK0VLLKbmbWwLzMZGxL0ovCP+bqh4OZ/dbMDjezX5pZSSPrnG1mZ0XPP2pmx0fPM82sSzO22dvMRpnZR8xsdML8ExJD0MzOMbO7mlmPrsD/mtmtTSx3spl9uznv2cC6t5nZYc1c9joz+2Izl+0PLDCz4mYse5yZ3Vhv3i4z69bIKiea2bP15r1kZsceZBsTzezqhOlLzezzjSybZWY31/0dmVk3M8tIeD0zcVo6DrUAYszMjgR+Z2bnu/s2MzsaOAUoBx4CvgJ8qt46Q4DfAP8nmnUhMDv6358G/Az4bdS6fAboCXQDegF9op+7gM3ARmA6sCR6ryLgITO7GXgB+DnQ18zOTyjC39z9Bw1U57+BGcCZZrbU3f/WSLVHAnmNfB4ZQFd33x1Ndwf2uLtH9f4a8MN663QDqt29Npr+CtAfuBRYbGaDEhavcvefNLDp/yJ8Nn9J2Be/7u5faGDZK4E9ZvYD4HSglvB//EK0brW7n56w/FhgbkJ5+wEDgfkN1L8bsBdYC/yXmT3s7jXA14G76pZx9z1mNh74ZbTqScBlZrYX+CdhhzOC8He0E/gi8EYDdZF2ZLrIK97M7EfAh4DzgO8CnwTeJgS2A0YIxAlmlgs8B2S6+8ioFfwwcDSwFPi/7v5ywnsfQwin7cAO4HbgNXf/7UHKUwAMIgTt68BLwJfcfaqZvQZ80d3fSFg+gxCevd39OjPLAh4HXgR+4O576r3/bcC1wKYGNp8BrHL3y6NlnyYEpQNDgd3AunrrdAeucffXo3XeIuwwK+st1wV42t0Pr1eeLwEXAJck7EBeA77t7s/WW7YHsBI4Lnq/46Iy/RX4SDTvPXd/NVp+BjCREMBbCQGeRdiB1ZUv1937RMvfC4wn/M4AJgBvRtuA8LdQ7e6nmdkk4DrgaWClu79mZr8BPufu1Wb2OnCOu29p4HOWjsDd9YjxgxB4PwNygfeBO6L5dwA3JixXBLwF3BD9vIrQyisF/k/CctcCRzayrZ8BVzdRniOAW4Bu0fRdwBrgqLp59cr0LPD/gPyoDrmEoH4qWu+7QH7COg8CUw7xMzqM0Boe3oxl3wTmEHY+iY+XgHcTlsuMyrYEyEqYfz7wUiPvfQOwJXo+DPgmcCMh3G8EvgpcVK8s/RI+x89G5TgqYZl3Ep7X7ejrptcnfuaEBkGX6HkPwk7/PeC4hGVuIexYq6OfM9v7b1yPhh/q9ok5D63NG83s54R//gNELesu7r7azC4mtC5vdPdHgEfM7IfAZ8zsqOi1y4BTo3W/RQis96K3KwA+nNBnnQN8x90fiJY/EniM0E3QI2oVn0doGf8d+JOZPQEsAoYDTwC3ApcD90fzthOCuguhS+rLhNZuebTN4cDq5n4+UV/2fcAe4NF6h0iOAs5w93kJ82qBWYRATpQRlaXOCOBYYAWw0MzeS1zYzOYBo4Dx7r7czHKAmwhdPuMIXW9VhG8lm4Ep0apdzSzL3R9lfwu+zmmAu/uyeuWtMwB4ysx2A9mEz7CuO8kI4X8noXutBriX8Ln+1MwmEH73XQg741cIXXyXIx2Swl/q7CT8M19jZmcDhYTW2xWErp7b3H2FmQ0G/idhvduAR9j/t3SHu6+PnhvwiLvfDGBmPwMWeNTtY2b3E8KrbifzKHAzsJzQop8FnO3uW83sNMK3il8Bn3X3hWZ2pLvvBOre7y7gbT+wW+lz9epZCdzfwEkwEL49/Nrdvxu9nxGOO1xC+Mby+8SFzWwOoY88URdCy7+hbp+v1k24+5vAxWb2C+Axd/9t1K3jvv+Yw4KE9x8L/BH4lLuXErp8DtU/CXV/wN2vjebVdTVlAFvdfWI0fTOh1X9nvTpnRsdzTgIWRrMHEj73F8zsZGA28DHge8CHW1BOSQGFf8xFZ8k8D5xJaKU/6O53mNkdwBbgF4TgqnMucKuZfbLeWw0A3nD3yxLmVTejCLUQvoGY2SnATGAIYWf0YcI3hbpl89193wFUd99pZm8QdjK1hPDebWY3RGXu6e4jEzfm7hc2VpCoz3tF9Lwf4QB2NvBn4M76Z9kQWv419ebNJ4ReQ15vYF5iy/sjhAPFH00sclTuF8zsJaID8GZ2AWGntyJh2Wxgobsn/m5mm1kNoTvsZnefY2Y/MbPz3P3phOWOA+4zs2rCcYyjgFIzu6ReebsAt7j7k2a2h7Dznw+cZGa/Biqi5YoSnksHpPCXjwHLPRykA7jazE4n/PNWE762P084BgDh4N/T7n5lFNZ7PBzsu5rQPdNi7r4r6nK4wt0XmNlngE3uPgvAzMoaWO184Fx3fySx5W9mNxG6iojWHUII3218sDukB+Ebx1CgrnWfQ+iz/jThm853Gmn5J053c/dPmNmpQBnQl7DDeiJ6/Rwz617Xso8kngZ5JKFPnoZed/eahB1hNfCku18d7bRuIxygrb9TPsXdt9iBp8z+FPh0tDOpit77dcLBXsxsGvAkYWex77NKLLuZTYk+l81A72iRlwndWRY9qtDp5B2WfjExZma9CQcCf54w+7ceThX8LfBLdz/F3e9IeL0Lof8b4PvAIAvnqUPoE07UtYltFxBO+0yU2CD5AlAZnQEEUSu4geV/GoV74nt/g/1nqeDua9w9191HuPvIeo8id/8jIXxXR8uvcPcvuntd+e40s3mJD+CYemV53MK1EZ8iBPEe4G7bf5775cCv662zCXjfzPoSTuN8zMIptwD/m1iHerpHde1L6O/fHG2v/ufZkOnANYRvCtvqZppZdzP7FeFbwvHAHDMrN7Nl0Y5ubnQ6KO7+GOF03z9Efy+ro8fLhN/rXOAMwvES6YDU8o+3icA/3X1RNJ0B3GBmVxIOktZauFCpF+F0xmfc/VEzmxG1JB1YTDg1dAbh7JVEa4ANCdOZQJcoQBYB7xDO50/0TUIY/nf0+gLgVTPbBNxSv+Xs7hVRd8PVCe9xDfA7d1/T1AdgZr2Aswjn/g+k4a4Ko+GW/6vs7zMfQth51J2G6u7+ppmVRF1af4nK9YKZneTur0TLfR84m9Di/yXhjKvHzWwH4VTV+t926v5nnwZeI3TL3Uto8Z8M3J2wbFcO7Pa5LZpfd23A+YTfHdFB5EcJx1o+7O7V0fxfAq/Wr3tdHYHPWbgOYzihm6ycsDO6krCje8fM/pT4DUI6iPY+3UiPjvMAvkV0qmcDr2UQTpOcD7xL6NfuGb2WTbggrIwQuo29/6+BLxzk9R8QDhbOI5xDbgmvTSJ0RTxe7/2WRI8FhJbnCkKAv8n+HUyXJur9MKGFelojr/8R+GTCdFfCdQ0vAT2ieUcAl0bPv0Y4H39O9HgDeDZ6rW75QcA/CBe6/RE4tt42L4zW+996n0Ml4fjKDMIB168AGdFrZ0brHB1NXwd0j54fA4yInucBfyPsaLOieQMIO4Mp0ec2L3qsIRyAnxe99zLCtQEAnyBcjwDhm+KPo7+PkXV1JZy9dVh7/23r8cGHLvKSZrMwjMNewkHFD7TkzKwnMMzdl3xg5ea9/1FApbuXH2SZnh7O8GlXZpbR0GdwiO9xLLDEDzwGkPi6EQJ7WQOvDfb9Z1V1CFF5e3SE3480TeEvIhJDOuArIhJDCn8RkRjqsGf7DBw40IuKitq7GCIiaeONN97Y5O45zVm2w4Z/UVER8+bNa3pBEREBwMzebe6ySe32MbN7LQwG1uC0iIi0j6SFf3Tpf667z2hoWkRE2k9Swj8aLOw+YLWFW8AdMJ2MbYqIpLPqmlqWravkxWUbml64DSSrz//ThCssf0wY/6MocdrMCt39nvormdlUYCpAYWFhkoomItK+dlfXsGJ9FYvLtrK4fCuLy7axtGIbu6tr6ds9k4W3n0tGRoPDjreZZIX/BGCau68zs98T7q/644Tp7wMfCH93n0YYH4SSkhJdfSYiaW/X3hqWVmxjcfk2lkRhv2xdJXtrQsT17Z7J6IIsPnXiUMYUZDOmIIuGbzfRtpIV/m8TbjMHUEIY3e+vCdPNPiItIpIuqnZX82b5tn0t+iVl23h7YxU1tSHo+/fqypiCbK6dNIwxBVmMyc+mcECvpLfyG5Ks8H8AeDAaHbIrodvnJwnTH0nSdkVEUmLrjr0sKd/fbbO4fCurNm2nbsScgX26M7Ygi/NGD2Z0QTZjCrLJz+5BI3eRS7mkhL+7V3Lg3YhoYFpEJC1sqtrN4rKtLElo1a/ZvH/8uoJ+PRmdn8WU8QX7WvSDsnq0Y4mb1mEv8hIRSTV3Z/223QcciF1SvpWKrfvvkTP0sF6MK+jHx48vZGxBNqPzsxnQu/59jDo+hb+IxJK7s/b9nR8I+k1V4UZ1ZnBETh9OKB7AmCjkR+Vnkd2z0RvUpRWFv4h0erW1zur3th9wxs3ism1s3bkXgC4ZxvBBfTj9qEGMyc9i7OHZjMzNonf3zhuRnbdmIhJL1TW1rNy0nUVr959xs6R8K9v31ADQrUsGI/P6cuHYvH3980fl9qVH1y7tXPLUUviLSNraU13L8vWV4ayb6IybpRXb2LU33GStR9cMRuVlcflxhzMmP5vRBVkMH9SXbpkazV7hLyJpYdfeGt5aVxn66Bu4WKpP90xG5Wdx1QlD97Xoh+X0oUs7nEOfDhT+ItIhVWzdyVOL1+07ELtiw/6Lpfr16sqY/GyumVTMmPxwDv3QdrpYKl0p/EWkQ1lctpX7Zq9kVmkF1bXOwD7dGFOQzTmjBjM6Pwx/UNCvZ4e5WCpdKfxFpN3V1jovvLWB++es5NWVm+ndrQufPqmIT580lKGH9VLQJ4HCX0Tazc49Nfxt/loemLOKlRu3k5fdg1suHMmVxxeS1aNznE/fUSn8RSTlNlbu5uFXVvPwq+/y/o69jC3I5udXjufCsXl07aIzcVJB4S8iKbN8fSUPzF7F9AVl7K2p5ayRg7nulGJOKB6grp0UU/iLSFK5O3Pffo/7Zq/kpeUb6dE1g48edzjXTipmWE6f9i5ebCn8RSQp9lTX8vjCcu6fvZK31lUysE93bjpnBFedODQtB0LrbBT+ItKmtuzYwyOv/ZuH/rGaDZW7GTG4Dz++fByXjM+P3RAKHZnCX0TaxOpN23lw7ir+Mm8tO/fWcMrwgfznR4/h1OED1Z/fASn8RaTF3J15777PfS+v5Nml68nMMC4dX8B1pxQzMjervYsnB6HwF5FDVl1Ty5OL13H/nFUsXLOF7J5d+eLpR/CZk4o6/B2sJFD4i0izVe7ay59eX8Nv5q6mbMtOig7rxfcuHc3lxx1Or26Kk3Si35aINKlsy05+O3cVf/znGip3V3N80QBuv3gUZx09WKNmpimFv4g0qnTtFu6fvYpZiyoAuGBMLp87ZRjHDOnXziWT1lL4i8gBamud59/awH2zV/LPVZvp0z2Tz55cxNUfKuLw/r3au3jSRhT+IgKEQdb++q+1PDhnFas2baegX0++fdHRXDFxCH01yFqnk5TwN7NMYGX0AHgeOCt63gPY6u7nJWPbInJoNlTu4uFX3uX30SBr4w7P5hcfn8CFY3LJ1CBrnVayWv7jgEfd/VsJ874HYGbfAN5J0nZFpJmWravk/tkr+fuCcvbW1nL20YP53CnDmFjUXxdlxUCywv9EYLKZnQEsAq5392oz6wmc6+7nJGm7InIQ7s7sFZu4f84qXo4GWbti4hCumVRM8cDe7V08SaFkhf/rwNnuXmFmvwMuBB4HPgX8obGVzGwqMBWgsLAwSUUTiZ/d1TU8vqCcB+as4q11leT07c43zjuKTxxfSH8NshZLyQr/UnffHT2fBwyPnn8cuLixldx9GjANoKSkxJNUNpHYeH/7Hh557V0eeuVdNlbuZmRuX/7zI2GQte6ZGmQtzpIV/g+b2feBxcAU4AdmVkQ40FuVpG2KSGTVpu08OGcVf3ljDbv21nLqiBzu/lgxk47UIGsSJCv87yR07xjwuLs/F3XpvJyk7YnEnrvz+ur3uW/2Sp5bup6uGRlMmZDPtZOGcVRu3/YunnQwSQl/d19MOOMncd60ZGxLJO6qa2p5YvE67p+9ktK1W+nfqys3nHEknzppKIP6apA1aZgu8hJJU9t27eXPCYOsFQ/szV1TxnD5sYfTs5v68+XgFP4iaaZsy05+M2cVf3x9DVW7qzmheAB3XDKas0YOIkODrEkzKfxF0sTCNVu4b/ZKnly8DoCLxuZx3SnFjDtcg6zJoVP4i3RgKzdWMbO0gpml5SxfX0Xf7plcO6mYq08uIr9fz/YunqQxhb9IB7Nm8w5mlJYzc2EFb1ZsA2BiUX/uvHQ0l00o0CBr0iYU/iIdQPmWncyKWvgL124FYPyQfnz7oqO5aFweedlq5UvbUviLtJMN23Yxa1EFM0sreOPd9wEYU5DFzReM5KKxeQwZoLHzJXkU/iIp9F7Vbp5cvI4ZC8v55+rNuMPI3L58/dwRXDQuX4OrScoo/EWSbMuOPTy9ZB0zSyv4xzvvUVPrHJHTmy+fOZyLj8njyEG6+lZST+EvkgTbdu3l2SXrmVlazuwVm6iudQoH9OL6U4cxeVw+R+f11Rg70q4U/iJtZPvuap5bup6ZpRW8tGwje2pqKejXk2smFTN5XB5jC7IV+NJhKPxFWmHX3hpeeGsDM0vLeeGtDezaW8vgrO5cdWIhk8flc2xhPwW+dEgKf5FDtLu6hpeXb2LGwnKeW7qeHXtqGNinGx89bgiTx+UxsWiAhlmQDk/hL9IMe2tqmfP2JmYurOCZN9dRuauafr26cun4fCaPy+eE4gG62bmkFYW/SCOqa2p5deVmZpaW89SSdWzZsZe+PTI5d1Quk4/JY9KRA+mqwJc0pfAXSVBT67y+Ogr8xevYVLWH3t26cPaowUwel8+pIwbq9ofSKSj8JfbcnX/9ewszFpbzxKIKNlTupkfXDM4aOZjJ4/I4Y+QgenRV4EvnovCXWHJ3FpVtZWZpBbNKKyjbspNumRmcPiKHycfkc9bIQfTurn8P6bz01y2x4e4srahkZmk5M0sr+PfmHWRmGKcMH8hN547g7FGDydKImRITCn/p9Fasr2RGNGLmyo3b6ZJhnHzEYXzpjCM4b3Qu/Xp1a+8iiqScwl86pVWbtjNzYWjhL1tfiRmcUDyAaz5UzAVjcjmsT/f2LqJIu1L4S6exZvOOfXe9WlIeboJSMrQ/d1w8igvH5jEoq0c7l1Ck40hq+JvZYOApYBpwRTS7H/Cau1+fzG1LPFRsrbsJSgUL1mwB4JjoJigXjs3TrQ5FGpHslv9PgJ7u/ivgVwBmdg/wUJK3K53Ypqrd++569frqcBOUUXlZfPP8o5g8Np/Cw3QTFJGmJC38zexMYDuwLmFeATDY3ecla7vSOe3cU8OzS9cz/V9reXnFJmpqnRGD+/C1c0YweVwew3L6tHcRRdJKUsLfzLoBtwGXAY8lvPQlom8Ajaw3FZgKUFhYmIyiSRqpqXVeeec9ps8v46nFFWzfU0Nedg8+d8owpkzIZ2RuVnsXUSRtJavlfzNwr7tvqRvO1swygDOAWxtbyd2nEY4PUFJS4kkqm3Rg7s6bFdt4bH4Zf19QzobK3fTtnsnkcflMmVDACcUaMVOkLSQr/M8GzjSzLwHjzex+4GHCgV6FunxA+Zad/H1BOdPnr2X5+ioyM4zTjxrEZRMKOOtoDa8g0taSEv7ufmrdczN70d2vM7MfAC8nY3uSnrbu3MtTiyuYPr+M11aFm5kfN7Q/35syhovG5jGgty6+EkmWpJ/n7+6nRz9vSfa2pOPbU13Li8s28NiCMp5buoE91bUUD+zNV88ewaXj8xl6WO/2LqJILOgiL0m6MGrm+0yfX8bM0gq27NjLYb278YnjC7lsQgHjDte9bUVSTeEvSfPOxir+Pr+M6QvKWLN5Jz26ZnDuqFwum1DApOG6EYpIe1L4S5vaVLWbGQvLeWx+GQvXbiXD4ENHDuTGs0Zw3phc+miYZJEOQf+J0mo799TwzJvreGx+2b4LsEbnZ/Hti47m4mPyGawxdUQ6HIW/tEhNrfOPdzYxfX4ZTy9ex/Y9NRT068n1pw5jyoQCRgzu295FFJGDUPhLs7k7S8rDBViPL4wuwOqRycXHhAuwji/SBVgi6ULhL00q27KTvy8oY/q/ylixoYquXYwzoguwdH9bkfSk8JcGbd25lycX7b8AC2BiUX++f1m4AEt3vxJJbwp/2Wd3dQ0vLtvIY/PLeH7pBvbU1DIspzdfP3cEl44vYMgADZUs0lko/GPO3Xnj3ff52/wyZpVWsHXnXgb26cZVJ4YLsMYW6AIskc5I4R9Tb2+oCv3488tY+/5OenbtwnmjBzNlQgGTjhxIpi7AEunUFP4xsrEyugBrQRml0QVYk4bncNO5Izh3VC69dQGWSGzov72T27GnmmffXM/0+WXMji7AGluQzW2TR3HxMXkM6qsLsETiSOHfCVXX1PKPd97jsfllPLVkHTuiC7A+f9owpowvYLguwBKJPYV/J1F3Adb06AKsjZW7yeqRyaXjC7hsQgElQ/vrAiwR2Ufhn+ZWb9rOrOh8/Lc3VNGtSwZnjhzElAkFnDEyh+6ZugBLRD5I4Z+GVm3azhOLKphVWsGbFdsAOL5oAD/88FguHJNHdq+u7VxCEenoFP5poqHAP25of26bPIoLxuSS369nO5dQRNKJwr8DW7mxKgT+onUsVeCLSBtS+HcwjQX+dyaP4oKxueRlK/BFpPUU/h1AXeDPLK3grXWVAJQo8EUkiVoU/mbWC5gIzHX36kaWGQAcB8x3900tL2Ln9M7GKp4orWDWIgW+iKRek+FvZiPcfXm92cOALwNfBy5uYJ3+wExgFnC3mZ0JPAQMAt5w9+tbW/B01Fjg337xKC4Yk0dutq62FZHUaE7Lf4mZfc3d76mb4e6LgcvN7B+NrDMO+Jq7vxrtCD4BPOLuj5jZH8ysxN3ntb74Hd/bG0KXzhMJgT+xSIEvIu2rOeG/HBhiZtOBL7l7ecJrOxpawd1fAjCzU4HjgUXAGDPrBwwB1rSq1B1c/cA3UwtfRDqW5oT/bnf/ppmdAPzJzJ4AfuHu24FGxwuwMAj8FcD7wIvAeYSuoqXA5kbWmQpMBSgsLDyEarS/tzdUMqt0HU8sqmDZ+hD4E4cO4I6LR3HB2DwGZynwRaTjMHdv/EWzDGCBu4+Lpg24hhDQ5cBed//YQTdg9j3gk8Ax7r7NzL4GVLn7tIOtV1JS4vPmdeyeocYC/8KxuQp8EUk5M3vD3Uuas2xTLf8vArfWTXjYUzwAPGBmg9x9QyMF+BZQ4e6/A/pFj7Fm9ipwAvBccwrXEdUF/qxF5SxfX7Uv8L97yWjOH5OrwBeRtNBo+Eet/FrgFjP7PrAnetTJMLMe7j6+gdWnAX82s+uAxcD5wIPAUOAV4NE2Kn9KrFhfyayoD39f4Bcp8EUkfR2022ffQmYXA3cBvwZ+5c1ZqZXau9unLvBnlVawYsP+wL9obB4XjMllkAJfRDqYtuz2AcDdZ5jZ88CVQAZQ04rydVjL11cyqzS08BMD/85LR3P+aAW+iHQezb7C1913ELpuOpWGAv94Bb6IdHKxHNtn+fpKZkaB/7YCX0RiKBbh7+4sX1+176BtXeCfUDyAz5w0mvPG5OpG5iISK502/BMDf1ZpOe9s3E6GwfEKfBGRzhX++wK/tJxZiyoOCPyrP1TM+aNzyenbvb2LKSLS7jpV+O+uruWye+eya28NJxQfpsAXEWnEIYW/mY0iDPRmwHB3fzMppWqhHl278D+fPI6j87IU+CIiB3GoLf/FwEhC+C8CurR5iVrp1BE57V0EEZEO71DDvxgoi54Pa+OyiIhIihxS+Lv7uwmT7za6oIiIdGgZzVnIzEY3MO+aaPA3ERFJM80Kf+BnZlZkZl0T5l2digHeRESk7TU3/AE+DqyI7sH7KaB3ksokIiJJdtDwN7MTzOxHhPu4/NDdi4DvAzlAfgrKJyIiSdBUy38s8Je6CTMbAlwIFAErklcsERFJpoOGv7vf7+7zCHft+hhhSOd1wHdTUTgREUmOg57qaWaHAZuBB939z8CfE177t5lluHttkssoIiJtrKnz/G8HzgRmmNl36r22ArgT+HYyCiYiIslz0PB39y+bWTFwI/A5ws5gQfSyAT2TWzwREUmGJk/1dPdV7v4V4GSgl7vPBQa6+xx3fzbpJRQRkTbXZPibWb6ZnQrkAq+ZWR7wzaSXTEREkqapA77ZwEeAicCHgCeBUmB38osmIiLJ0mjL38wGAf8CLgH+B3gH+FFz3tTMss3sSTN7xsymm9lgM3vCzOaZ2a/bpOQiItJijYa/u28gXOS1EhgP9ANOBEYA/czsNDM7u5HVrwLudvdzCdcFXAE84u4lQF8zK2nDOoiIyCFq6myfHWa2DBgHZBO6f46Inp8GdAeea2C9exMmc4C1QJ6Z9QOGAGvapPQiItIijYa/mfUF/kjo3/8p4UYu9wAXAFnufmdTb25mJwH9gd8DPwS+DCwlXDjW0PJTgakAhYWFh1IPERE5BAfr9qkErgNeAj4PDAe+1dw3NrMBhJ3FNYTrAz4f7TDeAj7byDanuXuJu5fk5Oh2jCIiydLU2D4VhIHd7gE+CjwE/J2mzxLqFq33H9Hdv/oDY82sC3ACoPsAiIi0oyZv4+ju5UB54jwzu6uJ1a4FjgVuNbNbCaeITgOGAq8Aj7aotCIi0iYO9QbuALj7M028/ivgV/VmN+s0URERSb5DuZOXiIh0Egp/EZEDBKppAAAGsUlEQVQYUviLiMSQwl9EJIYU/iIiMaTwFxGJIYW/iEgMKfxFRGJI4S8iEkMKfxGRGFL4i4jEkMJfRCSGFP4iIjGk8BcRiSGFv4hIDCn8RURiSOEvIhJDCn8RkRhS+IuIxJDCX0QkhhT+IiIxpPAXEYmhpIa/mQ02s9nR82PN7Dkzm2tmNyVzuyIicnBJC38z6w88BPSOZt0DfBaYBFxuZsXJ2raIiBxcMlv+NcAVwLZoeoC7r3F3B94DspK4bREROYjMZL2xu28DMLO6WXPN7AZgM1AElNZfx8ymAlMBCgsLk1U0EZHYS+UB3+uBt4AbgB9F3wAO4O7T3L3E3UtycnJSWDQRkXhJWfi7ew2wLJp8JFXbFRGRD0r1qZ53Ad9qqNUvIiKpk7Q+/zrufnrC888ke3siItI0XeQlIhJDCn8RkRhS+IuIxJDCX0QkhhT+IiIxpPAXEYkhhb+ISAwp/EVEYkjhLyISQwp/EZEYUviLiMSQwl9EJIYU/iIiMaTwFxGJIYW/iEgMKfxFRGJI4S8iEkMKfxGRGFL4i4jEkMJfRCSGFP4iIjGk8BcRiaGUhb+ZFZvZLDObbWY/TdV2RUTkg1LZ8v8R8D13PwU43MxOT+G2RUQkQSrDfwTwr+j5BiA7hdsWEZEEqQz/vwK3m9nFwPnA8/UXMLOpZjbPzOZt3LgxhUUTEYmXlIW/u98FPAlcBzzk7lUNLDPN3UvcvSQnJydVRRMRiZ3MFG9vAVAIfDzF2xURkQSpPtXzG8Dd7r4jxdsVEZEEKW35u/vtqdyeiIg0TBd5iYjEkMJfRCSGFP4iIjGk8BcRiSGFv4hIDCn8RURiSOEvIhJDCn8RkRhS+IuIxJDCX0QkhhT+IiIxpPAXEYkhhb+ISAwp/EVEYkjhLyISQwp/EZEYUviLiMSQwl9EJIYU/iIiMaTwFxGJIYW/iEgMKfxFRGJI4S8iEkMpDX8ze8DMXjGzb6dyuyIicqCUhb+ZfRjo4u4nAcPMbHiqti0iIgdKZcv/dODP0fNngEkp3LaIiCTITOG2egNl0fPNwLH1FzCzqcDUaLLKzJa1cFsDgU0tXDddqc6dX9zqC6rzoRra3AVTGf5VQM/oeR8a+Nbh7tOAaa3dkJnNc/eS1r5POlGdO7+41RdU52RKZbfPG+zv6jkGWJ3CbYuISIJUtvwfA2abWT5wAXBiCrctIiIJUtbyd/dthIO+rwJnuPvWJG6u1V1HaUh17vziVl9QnZPG3D0V2xERkQ5EV/iKiMSQwl9EJIbSKvzNLNvMnjSzZ8xsupl1a2jICDMbbGazG1h/hpmNT22pW6eldTaz75rZi9HjLTP7j/apwaFrRZ2HmdnzZrbAzG5rn9K3TCvqfKyZPWdmc83spvYpfcs0p84NLRPNT8uhYlpZ5wZzraXSKvyBq4C73f1cYB1wJfWGjDCz/sBDhIvK9jGzq4B33H1BqgvdSi2qs7vf7u6nu/vpwGLgd6kveou19Pd8A/Addx8PnGdmOakueCu0tM73AJ8lnEZ9uZkVp7jcrdFknRtY5vw0HyqmpXVuMNdaI63C393vdfdno8kc4JN8cMiIGuAKYFvdemY2APgp8L6ZnZG6ErdeS+tcx8wmAmvdvaz+ax1VK+r8HjDOzAYD3YEtqSlx67WizgPcfY2HMzfeA7JSVORWa06dG1hmA2k8VEwr6tzo/3hLpVX41zGzk4D+wBoOHDJisLtva+A00q8CfwF+DXzazC5JWWHbSAvqXOcrhNZh2mlBnZ8iXD/yZeAFoDpVZW0rLajzXDO7wcw+ARQBpSkrbBs5WJ3rL+Pur/LBoWIGk2YOtc5N/I+3SNqFf9SKvwe4hmYMGRGZAPy3u68j7GVPT3Ix21QL64yZ9QMGufs7SS9kG2thnW8Grnb3W6Plz0l2OdtSC+t8PfAWocvrR55m5243p871lqGx5dJFC+vc5tLtQ+tGaMH/h7u/S/OHjHgbGBY9LwHeTWIx21Qr6gxwKfBEUguYBK2oczEwxMx6EAYOTJsgbGmd3b0GqBsA8ZEkF7NNNafODSxDQ8ulrNCt1Io6tz13T5sH8AXgfeDF6PEZYCFwN7AUyE5Y9sWE5/mEEJwLPAv0be+6JLvO0fQfgGPbuw4p/D1fBKwEKoFHCQfS2r0+Kfg9PwSc0t51SEadG1jmCsJxjQY/m47+aGmdG/vdt+aR9lf4RkfBzwFe9tCt0+mpzqpzZ9XcOnemz6a96pL24S8iIocurfr8RUSkbSj8RURiSOEvIhJDCn8RkRhS+IuIxND/B9edTT6S4bMhAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115d7442208>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t8', image_index=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 输出分析报告"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "文档 [CASH-002508-现金流水分析（2016~2021）.docx] 已输出到 [dist] 目录下。\n"
     ]
    }
   ],
   "source": [
    "# ReportDocument(analysis).save()\n",
    "from analysis.utils import read_company_code\n",
    "\n",
    "start = analysis.tables['t1'].index[0]\n",
    "end = analysis.tables['t1'].index[-1]\n",
    "\n",
    "name = f\"CASH-{read_company_code()}-现金流水分析（{start}~{end}）.docx\"\n",
    "doc = ReportDocument(analysis, doc_name=name)\n",
    "doc.save()\n",
    "\n",
    "print(f\"文档 [{name}] 已输出到 [dist] 目录下。\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
